* fileio.c (Frename_file): Pass all arguments to the file name handler.
authorJim Blandy <jimb@redhat.com>
Thu, 10 Jun 1993 05:21:01 +0000 (05:21 +0000)
committerJim Blandy <jimb@redhat.com>
Thu, 10 Jun 1993 05:21:01 +0000 (05:21 +0000)
* eval.c (call4): New function.

src/eval.c
src/fileio.c

index 2812c79e0d376de366e8a495ab26990c74c88466..476f663f09f4767eedc86e55de42fc3cfd2704e5 100644 (file)
@@ -1803,6 +1803,30 @@ call3 (fn, arg, arg1, arg2)
 #endif /* not NO_ARG_ARRAY */
 }
 
+/* Call function fn with arguments arg, arg1, arg2, arg3 */
+/* ARGSUSED */
+Lisp_Object
+call4 (fn, arg, arg1, arg2, arg3)
+     Lisp_Object fn, arg, arg1, arg2, arg3;
+{
+  struct gcpro gcpro1;
+#ifdef NO_ARG_ARRAY
+  Lisp_Object args[5];
+  args[0] = fn;
+  args[1] = arg;
+  args[2] = arg1;
+  args[3] = arg2;
+  args[4] = arg3;
+  GCPRO1 (args[0]);
+  gcpro1.nvars = 5;
+  RETURN_UNGCPRO (Ffuncall (5, args));
+#else /* not NO_ARG_ARRAY */
+  GCPRO1 (fn);
+  gcpro1.nvars = 5;
+  RETURN_UNGCPRO (Ffuncall (5, &fn));
+#endif /* not NO_ARG_ARRAY */
+}
+
 DEFUN ("funcall", Ffuncall, Sfuncall, 1, MANY, 0,
   "Call first argument as a function, passing remaining arguments to it.\n\
 Thus, (funcall 'cons 'x 'y) returns (x . y).")
index bf2391c6894d9d9a37369fdc175241b298738803..d7805c5d582cee794a97c42814085cdfc618eb4b 100644 (file)
@@ -1748,7 +1748,8 @@ This is what happens in interactive use with M-x.")
      call the corresponding file handler.  */
   handler = Ffind_file_name_handler (filename);
   if (!NILP (handler))
-    return call3 (handler, Qrename_file, filename, newname);
+    return call4 (handler, Qrename_file,
+                 filename, newname, ok_if_already_exists);
 
   if (NILP (ok_if_already_exists)
       || XTYPE (ok_if_already_exists) == Lisp_Int)